//1引入express
const express = require('express')
//2.引入连接池
const pool = require('../pool.js')
//3因为要打包暴露出去所以要创建一个路由对象
let router = express.Router();
/*接口逻辑*/
//接口1：用户新注册
//请求方法：post
//后台模块中的接口地址：/add
//前台访问的接口地址：/user/add
//需要获取请求：req.body
//需要对数据库进行“插入”：
//约定用户 unames uphone umember 
//sql:`insert into userinfo value set ?;` 因为这个插入的sql过于长并且需要指定字段，因此使用注入的方式更简单
//响应结果：
//{code:1,msg:'注册成功'};
//{code:0,msg:'注册失败'};
router.post('/add',(req,res,next)=>{
  var obj =req.body;
  console.log(obj);
  var sql = 'insert into userinfo set ?'
  pool.query(sql,[obj],(err,data)=>{
    if(err){next(err);return}
    console.log(data)
    //因为新增数据不会有返回值，只能通过
    if(data.affectedRows==1){
      res.send({code:1,msg:'注册成功'})
    }else{
      res.send({code:0,msg:'注册失败'})
    }
  })
})
//接口2
//接口1：用户修改
//请求方法：post
//后台模块中的接口地址：/add
//前台访问的接口地址：/user/add
//需要获取请求：req.body
//需要对数据库进行“插入”：
//约定用户 unames uphone umember 
//sql:`insert into userinfo value set ?;` 因为这个插入的sql过于长并且需要指定字段，因此使用注入的方式更简单
//响应结果：
//{code:1,msg:'注册成功'};
//{code:0,msg:'注册失败'};
//put和post一样接收参数使用req.body
router.put('/edit',(req,res,next)=>{
  var obj = req.body;
  console.log(obj);
  var sql=`update userinfo set u_names="${obj.unam}",u_phone="${obj.uphone}",u_member="${obj.umember}" where u_phone="${obj.oldphone}";`
  console.log(sql);
   //sql命令执行
  pool.query(sql,(err,data)=>{
    console.log(data)
    if(err){next(err);return}
    if(data.affectedRows===1){
      //修改成功
      res.send({code:1,msg:'修改成功'})
    }else{
      //修改失败
      res.send({code:0,msg:'修改失败'})
    }
  })
})
/**/
//4暴露路由（admin）路由
module.exports=router;